everything=['china','fucker','audi','cf']

#复习列表元素的打印
print(f"I like {everything[0]},{everything[1]},{everything[2]} to come to my party\n")

#复习列表元素的改变
everything[1]="lover"
print(f"{everything[1]},I like you!")

##复习添加元素的方法
#复习insert（）方法
everything.insert(1,'wmy')
print(everything)

#复习append（）方法
everything.append('hy')
print(everything)
##总结insert（）方法可随意插入元素，append（）方法只能在末尾插入元素

##复习列表元素的删除
#复习pop（）方法
a=everything.pop(0)
print(f"I love {a}!")
print(everything)

#复习del语句
del everything[1]
print(everything)

#复习remove方法
a='cf'
everything.remove("cf")#此处在里面写a也行
#a=everything.remove("cf") 若刚开始这样写，则a=None
print(everything)
print(f"I love {a}!\n")
##总结：pop（）方法和del语句 都是按索引删除，其中pop方法语句的返回值是删除元素的值，故可以通过复制将删除值保存
##而del语句在执行时是不可以赋值的，故不能保存删除值
##remove（）方法可以按元素值删除，但是remove方法语句的返回值是None，故要想保存删除值，要在remove前先找变量赋值

##复习列表排序
#复习sort（）方法
print(everything)
#print(everything.sort())这样写后，打印出来的是None，但everything的列表元素排列顺序确实改变了
everything.sort()
print(everything)
everything.sort(reverse=True)
print(everything)#按字母顺序的相反顺序排序

#复习sorted（）函数
print(everything)
print(sorted(everything))
print(sorted(everything,reverse=True))
print(everything)

#复习reverse（）方法
everything.reverse()
print(everything)

#复习len函数
print(len(everything))
##总结：sort（）方法可以永久改变列表顺序，使之按照字母顺序排列或按字母相反顺序排列，sorted（）函数则是改变其打印值
##不改变列表本身，按照字母顺序或字母相反顺序排列
##reverse（）方法会改变列表本身排列顺序，使之按原来反方向排序，并非一定是按字母排列反方向
##len（）函数可以返回列表的元素个数

##要避免索引错误，在试图引用列表最后一个元素的时候，可直接用索引值-1来快速访问（此方法若列表为空，则会报错）